﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using acessaDB;
using Frame;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using Estrutura;


namespace Banco
{

    /// <summary>
    /// Summary description for BD_Modalidade
    /// </summary>
    public class BD_Modalidade
    {
        #region variaveis_globais

        acessaDB.conectaDBMSSQLServer sqlServer = new conectaDBMSSQLServer();
        string conectionString = System.Configuration.ConfigurationManager.AppSettings["SQLServerConnectionLocal"];
        string usuario = string.Empty;

        #endregion

        #region construtor

        public BD_Modalidade()
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["SQLServerConnectionProd"];
        }
        public BD_Modalidade(string usu_Login)
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["SQLServerConnectionProd"];
            usuario = usu_Login;
        }

        #endregion

        #region metodos

        public System.Data.DataSet _retorna_Modalidade(
                                                string MODALIDADE_ID,
                                                string MOD_DESCRICAO,
                                                string MOD_EXCLUIDO
                                                )
        {

            if (string.IsNullOrEmpty(MODALIDADE_ID)) MODALIDADE_ID = "''";
            if (string.IsNullOrEmpty(MOD_DESCRICAO)) MOD_DESCRICAO = "''";
            if (string.IsNullOrEmpty(MOD_EXCLUIDO)) MOD_EXCLUIDO = "''";

            string sql = "SELECT " +
                                  "MODALIDADE.MODALIDADE_ID, " +
                                  "MODALIDADE.MOD_DESCRICAO, " +
                                  "MODALIDADE.MOD_EXCLUIDO " +
                            "FROM MODALIDADE " +
                            "WHERE " +
                            "      (MODALIDADE.MODALIDADE_ID = " + MODALIDADE_ID + "  OR " + MODALIDADE_ID + " = '') AND " +
                            "      (MODALIDADE.MOD_DESCRICAO = " + MOD_DESCRICAO + "  OR " + MOD_DESCRICAO + " = '') AND " +
                            "      (MODALIDADE.MOD_EXCLUIDO = " + MOD_EXCLUIDO + "  OR " + MOD_EXCLUIDO + " = '') ";

            return sqlServer.retornaDataSet(sql, conectionString);;
            

        }


        public List<ES_Modalidade> _obter_Modalidade(
                                                    string MODALIDADE_ID,
                                                    string MOD_DESCRICAO,
                                                    string MOD_EXCLUIDO,
                                                    string ORDER_BY_CLAUSE
                                                    )
        {

            if (string.IsNullOrEmpty(MODALIDADE_ID)) MODALIDADE_ID = "0";
            if (string.IsNullOrEmpty(MOD_DESCRICAO)) MOD_DESCRICAO = "''"; else MOD_DESCRICAO = Util.retonarAspas(MOD_DESCRICAO + "%");
            if (string.IsNullOrEmpty(MOD_EXCLUIDO)) MOD_EXCLUIDO = "-1";
            if (string.IsNullOrEmpty(ORDER_BY_CLAUSE)) ORDER_BY_CLAUSE = "MODALIDADE.MOD_DESCRICAO ";

            string sql = "SELECT " +
                                  "MODALIDADE.MODALIDADE_ID, " +
                                  "MODALIDADE.MOD_DESCRICAO, " +
                                  "MODALIDADE.MOD_EXCLUIDO " +
                            "FROM MODALIDADE " +
                            "WHERE " +
                            "      (MODALIDADE.MODALIDADE_ID = " + MODALIDADE_ID + "  OR " + MODALIDADE_ID + " = 0) AND " +
                            "      (MODALIDADE.MOD_DESCRICAO LIKE " + MOD_DESCRICAO + "  OR " + MOD_DESCRICAO + " = '') AND " +
                            "      (MODALIDADE.MOD_EXCLUIDO = " + MOD_EXCLUIDO + "  OR " + MOD_EXCLUIDO + " = -1) "+
                            " ORDER BY " + ORDER_BY_CLAUSE;

            List<ES_Modalidade> lista = new List<ES_Modalidade>();
            SqlConnection sqlConexao = new SqlConnection(conectionString);
            SqlDataReader dr = sqlServer.retornaDataReader(sql, conectionString, sqlConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Modalidade item = new ES_Modalidade();
                    item.MODALIDADE_ID = dr["MODALIDADE_ID"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();
                    item.MOD_EXCLUIDO = (dr["MOD_EXCLUIDO"].ToString() == "0")? false: true;
                    lista.Add(item);

                }
                return lista;
            }
            finally
            {
                sqlServer.fecharConexao(sqlConexao);
            }
        }


        public ES_Modalidade _obter_Modalidade_by_id(
                                                string MODALIDADE_ID
                                                )
        {

            if (string.IsNullOrEmpty(MODALIDADE_ID)) MODALIDADE_ID = "'0'";

            string sql = "SELECT " +
                                  "MODALIDADE.MODALIDADE_ID, " +
                                  "MODALIDADE.MOD_DESCRICAO, " +
                                  "MODALIDADE.MOD_EXCLUIDO " +
                            "FROM MODALIDADE " +
                            "WHERE " +
                            "      (MODALIDADE.MODALIDADE_ID = " + MODALIDADE_ID + "  OR " + MODALIDADE_ID + " = '0') ";

            ES_Modalidade item = new ES_Modalidade();
            SqlConnection sqlConexao = new SqlConnection(conectionString);
            SqlDataReader dr = sqlServer.retornaDataReader(sql, conectionString, sqlConexao);
            try
            {
                while (dr.Read())
                {
                    item.MODALIDADE_ID = dr["MODALIDADE_ID"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();
                    item.MOD_EXCLUIDO = (dr["MOD_EXCLUIDO"].ToString() == "0") ? false : true;

                }
                return item;
            }
            finally
            {
                sqlServer.fecharConexao(sqlConexao);
            }
        }


        public void _inserir_Modalidade(
                                                string MODALIDADE_ID,
                                                string MOD_DESCRICAO,
                                                bool MOD_EXCLUIDO
                                                )
        {

            string sql = " INSERT INTO MODALIDADE " +
                         "      ( " +
                         "          MOD_DESCRICAO, " +
                         "          MOD_EXCLUIDO  " +
                 "      )" +
                 "  VALUES " +
                 "      ( " +
                              Util.retonarAspas(MOD_DESCRICAO, true) + ", " +
                              ((MOD_EXCLUIDO == true) ? "1" : "0") +
                 "      )";
            try
            {
                sqlServer._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _atualizar_Modalidade(
                                                string MODALIDADE_ID,
                                                string MOD_DESCRICAO,
                                                bool MOD_EXCLUIDO
                                                )
        {

            string sql = " UPDATE MODALIDADE SET " +
                         "      MOD_DESCRICAO = " + Util.retonarAspas(MOD_DESCRICAO, true) + ", " +
                         "      MOD_EXCLUIDO = " + ((MOD_EXCLUIDO == true) ? "1" : "0") +
                         " WHERE MODALIDADE_ID =  " + MODALIDADE_ID;
            try
            {
                sqlServer._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _excluir_Modalidade(string MODALIDADE_ID)
        {
            string sql = "DELETE FROM MODALIDADE WHERE MODALIDADE_ID = " + MODALIDADE_ID;
            try
            {
                sqlServer._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        #endregion
    }
}
